package com.hjx.other;

/**
 * 回文串检查
 * 判断一个字符串经过逆时针旋转是否可以成为一个回文串
 * 1、判断输入串是否是回文如果是结束
 * 2、如果不是 逆时针旋转该串，再次判断，直到判断出回文或旋转回原来的字符串
 *
 *
 */
public class HuiwenCheck {

    public static void main(String[] args) {
        System.out.println();
        String input = "abaaaaaaa";
        String oriInput = input;
        while(true) {

            if (isHuiWen(input)) {
                System.out.println(input);
                return ;
            } else {

                input = change(input);
                if(oriInput.equals(input)) {
                    System.out.println("没有符合条件的回文串");
                    break;
                }
            }
        }


    }

    private static String change(String input) {
        return input.charAt(input.length() - 1) + input.substring(0, input.length() - 1);
    }

    public static boolean isHuiWen(String input){
        int len = input.length();
        boolean isHuiwen = true;
        for (int i = 0; i < len / 2; i++) {
            if (input.charAt(i) != input.charAt(len - 1 - i)){
                return false;
            }
        }
        return isHuiwen;
    }
}
